/**********************************************************************************************************************
 * Copyright (c) Prophesee S.A.                                                                                       *
 *                                                                                                                    *
 * Licensed under the Apache License, Version 2.0 (the "License");                                                    *
 * you may not use this file except in compliance with the License.                                                   *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0                                 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed   *
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      *
 * See the License for the specific language governing permissions and limitations under the License.                 *
 **********************************************************************************************************************/

// WARNING, AUTO-GENERATED FILE WAS EDITED TO ADD WRITEFIELD OPERATIONS

// ISSD sequences generated by psee_issd_convert.
// Parameters:
// issd_csv_format_version=1.0
// system=evk3_gen41_cd
// operator=Prophesee
// dry_run=False
// no_system=False
// strip_prefix=False
// sensor_version=None
// args=-s evk3_gen41_cd -o Prophesee
// sensor=PseeEvk3Gen41
// date=2021-09-06T19:34:45
// psee_issd_version=1.1.3.215+g40ab73918
// psee_sensor_lib_version=3.3.0.486+g1106e0921.d20210015
// issd_data_format_version=1.0

// clang-format off

#ifndef METAVISION_HAL_GEN41_EVK3_ISSD_H
#define METAVISION_HAL_GEN41_EVK3_ISSD_H
namespace Metavision {

static const std::vector<RegisterOperation> gen41_evk3_init = {
    RegisterOperation::Write(0x0000001C, 0x1),
    // Digital INIT
    RegisterOperation::Write(0x00000064, 0x1),
    RegisterOperation::Write(0x0000B074, 0x2),
    RegisterOperation::Write(0x0000B078, 0xa0),
    RegisterOperation::Write(0x00000000, 0x10006402),
    RegisterOperation::Write(0x00000000, 0x10001402),
    RegisterOperation::Write(0x00000000, 0x10001442),
    RegisterOperation::Write(0x0000B068, 0x4),
    RegisterOperation::Write(0x0000B07C, 0x3),
    RegisterOperation::Delay(1000),
    RegisterOperation::Write(0x00000000, 0x50001442),
    RegisterOperation::Write(0x00000000, 0x5000144a),
    RegisterOperation::Write(0x00000000, 0x5000140a),
    RegisterOperation::Write(0x00000000, 0x5000640a),
    RegisterOperation::Write(0x00000000, 0x5000644a),
    RegisterOperation::Write(0x0000B080, 0x77),
    RegisterOperation::Write(0x0000B084, 0xf),
    RegisterOperation::Write(0x0000B088, 0x37),
    RegisterOperation::Write(0x0000B08C, 0x37),
    RegisterOperation::Write(0x0000B090, 0xdf),
    RegisterOperation::Write(0x0000B094, 0x57),
    RegisterOperation::Write(0x0000B098, 0x37),
    RegisterOperation::Write(0x0000B09C, 0x67),
    RegisterOperation::Write(0x0000B0A0, 0x37),
    RegisterOperation::Write(0x0000B0A4, 0x2f),
    RegisterOperation::Write(0x0000B0AC, 0x28),
    RegisterOperation::Write(0x0000B0CC, 0x1),
    RegisterOperation::Write(0x0000B000, 0x2d8),
    RegisterOperation::Write(0x0000B004, 0x8a),
    RegisterOperation::Write(0x0000B01C, 0x30),
    RegisterOperation::Write(0x0000B020, 0x2000),
    RegisterOperation::Write(0x0000B02C, 0xff),
    RegisterOperation::Write(0x0000B030, 0x3e80),
    RegisterOperation::Write(0x0000B028, 0xfa0),
    RegisterOperation::Write(0x0000B040, 0x7),
    RegisterOperation::Write(0x0000A000, 0x101),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A008, 0x2405),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A004, 0x101),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A020, 0x170),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000B040, 0xf),
    RegisterOperation::Write(0x0000B004, 0x8a),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000B0C8, 0x3),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000B044, 0x1),
    RegisterOperation::Write(0x0000B000, 0x2d9),
    RegisterOperation::Write(0x00009008, 0x640),
    RegisterOperation::Write(0x00008000, 0x1e005),
    RegisterOperation::Write(0x00007008, 0x1),
    RegisterOperation::Write(0x00007000, 0x70001),
    RegisterOperation::Write(0x00006008, 0xc8),
    RegisterOperation::Write(0x0000600C, 0xfa0),
    RegisterOperation::Write(0x00006004, 0x1),
    RegisterOperation::Write(0x0000602C, 0x1),
    RegisterOperation::Write(0x00006800, 0x8080808),
    RegisterOperation::Write(0x00006804, 0x8080808),
    RegisterOperation::Write(0x00006808, 0x8080808),
    RegisterOperation::Write(0x0000680C, 0x8080808),
    RegisterOperation::Write(0x00006810, 0x8080808),
    RegisterOperation::Write(0x00006814, 0x8080808),
    RegisterOperation::Write(0x00006818, 0x8080808),
    RegisterOperation::Write(0x0000681C, 0x8080808),
    RegisterOperation::Write(0x00006820, 0x8080808),
    RegisterOperation::Write(0x00006824, 0x8080808),
    RegisterOperation::Write(0x00006828, 0x8080808),
    RegisterOperation::Write(0x0000682C, 0x8080808),
    RegisterOperation::Write(0x00006830, 0x8080808),
    RegisterOperation::Write(0x00006834, 0x8080808),
    RegisterOperation::Write(0x00006838, 0x8080808),
    RegisterOperation::Write(0x0000683C, 0x8080808),
    RegisterOperation::Write(0x00006840, 0x8080808),
    RegisterOperation::Write(0x00006844, 0x8080808),
    RegisterOperation::Write(0x00006848, 0x8080808),
    RegisterOperation::Write(0x0000684C, 0x8080808),
    RegisterOperation::Write(0x00006850, 0x8080808),
    RegisterOperation::Write(0x00006854, 0x8080808),
    RegisterOperation::Write(0x00006858, 0x8080808),
    RegisterOperation::Write(0x0000685C, 0x8080808),
    RegisterOperation::Write(0x00006860, 0x8080808),
    RegisterOperation::Write(0x00006864, 0x8080808),
    RegisterOperation::Write(0x00006868, 0x8080808),
    RegisterOperation::Write(0x0000686C, 0x8080808),
    RegisterOperation::Write(0x00006870, 0x8080808),
    RegisterOperation::Write(0x00006874, 0x8080808),
    RegisterOperation::Write(0x00006878, 0x8080808),
    RegisterOperation::Write(0x0000687C, 0x8080808),
    RegisterOperation::Write(0x00006880, 0x8080808),
    RegisterOperation::Write(0x00006884, 0x8080808),
    RegisterOperation::Write(0x00006888, 0x8080808),
    RegisterOperation::Write(0x0000688C, 0x8080808),
    RegisterOperation::Write(0x00006890, 0x8080808),
    RegisterOperation::Write(0x00006894, 0x8080808),
    RegisterOperation::Write(0x00006898, 0x8080808),
    RegisterOperation::Write(0x0000689C, 0x8080808),
    RegisterOperation::Write(0x000068A0, 0x8080808),
    RegisterOperation::Write(0x000068A4, 0x8080808),
    RegisterOperation::Write(0x000068A8, 0x8080808),
    RegisterOperation::Write(0x000068AC, 0x8080808),
    RegisterOperation::Write(0x000068B0, 0x8080808),
    RegisterOperation::Write(0x000068B4, 0x8080808),
    RegisterOperation::Write(0x000068B8, 0x8080808),
    RegisterOperation::Write(0x000068BC, 0x8080808),
    RegisterOperation::Write(0x000068C0, 0x8080808),
    RegisterOperation::Write(0x000068C4, 0x8080808),
    RegisterOperation::Write(0x000068C8, 0x8080808),
    RegisterOperation::Write(0x000068CC, 0x8080808),
    RegisterOperation::Write(0x000068D0, 0x8080808),
    RegisterOperation::Write(0x000068D4, 0x8080808),
    RegisterOperation::Write(0x000068D8, 0x8080808),
    RegisterOperation::Write(0x000068DC, 0x8080808),
    RegisterOperation::Write(0x000068E0, 0x8080808),
    RegisterOperation::Write(0x000068E4, 0x8080808),
    RegisterOperation::Write(0x000068E8, 0x8080808),
    RegisterOperation::Write(0x000068EC, 0x8080808),
    RegisterOperation::Write(0x000068F0, 0x8080808),
    RegisterOperation::Write(0x000068F4, 0x8080808),
    RegisterOperation::Write(0x000068F8, 0x8080808),
    RegisterOperation::Write(0x000068FC, 0x8080808),
    RegisterOperation::Write(0x00006900, 0x8080808),
    RegisterOperation::Write(0x00006904, 0x8080808),
    RegisterOperation::Write(0x00006908, 0x8080808),
    RegisterOperation::Write(0x0000690C, 0x8080808),
    RegisterOperation::Write(0x00006910, 0x8080808),
    RegisterOperation::Write(0x00006914, 0x8080808),
    RegisterOperation::Write(0x00006918, 0x8080808),
    RegisterOperation::Write(0x0000691C, 0x8080808),
    RegisterOperation::Write(0x00006920, 0x8080808),
    RegisterOperation::Write(0x00006924, 0x8080808),
    RegisterOperation::Write(0x00006928, 0x8080808),
    RegisterOperation::Write(0x0000692C, 0x8080808),
    RegisterOperation::Write(0x00006930, 0x8080808),
    RegisterOperation::Write(0x00006934, 0x8080808),
    RegisterOperation::Write(0x00006938, 0x8080808),
    RegisterOperation::Write(0x0000693C, 0x8080808),
    RegisterOperation::Write(0x00006940, 0x8080808),
    RegisterOperation::Write(0x00006944, 0x8080808),
    RegisterOperation::Write(0x00006948, 0x8080808),
    RegisterOperation::Write(0x0000694C, 0x8080808),
    RegisterOperation::Write(0x00006950, 0x8080808),
    RegisterOperation::Write(0x00006954, 0x8080808),
    RegisterOperation::Write(0x00006958, 0x8080808),
    RegisterOperation::Write(0x0000695C, 0x8080808),
    RegisterOperation::Write(0x00006960, 0x8080808),
    RegisterOperation::Write(0x00006964, 0x8080808),
    RegisterOperation::Write(0x00006968, 0x8080808),
    RegisterOperation::Write(0x0000696C, 0x8080808),
    RegisterOperation::Write(0x00006970, 0x8080808),
    RegisterOperation::Write(0x00006974, 0x8080808),
    RegisterOperation::Write(0x00006978, 0x8080808),
    RegisterOperation::Write(0x0000697C, 0x8080808),
    RegisterOperation::Write(0x00006980, 0x8080808),
    RegisterOperation::Write(0x00006984, 0x8080808),
    RegisterOperation::Write(0x00006988, 0x8080808),
    RegisterOperation::Write(0x0000698C, 0x8080808),
    RegisterOperation::Write(0x00006990, 0x8080808),
    RegisterOperation::Write(0x00006994, 0x8080808),
    RegisterOperation::Write(0x00006998, 0x8080808),
    RegisterOperation::Write(0x0000699C, 0x8080808),
    RegisterOperation::Write(0x000069A0, 0x8080808),
    RegisterOperation::Write(0x000069A4, 0x8080808),
    RegisterOperation::Write(0x000069A8, 0x8080808),
    RegisterOperation::Write(0x000069AC, 0x8080808),
    RegisterOperation::Write(0x000069B0, 0x8080808),
    RegisterOperation::Write(0x000069B4, 0x8080808),
    RegisterOperation::Write(0x000069B8, 0x8080808),
    RegisterOperation::Write(0x000069BC, 0x8080808),
    RegisterOperation::Write(0x000069C0, 0x8080808),
    RegisterOperation::Write(0x000069C4, 0x8080808),
    RegisterOperation::Write(0x000069C8, 0x8080808),
    RegisterOperation::Write(0x000069CC, 0x8080808),
    RegisterOperation::Write(0x000069D0, 0x8080808),
    RegisterOperation::Write(0x000069D4, 0x8080808),
    RegisterOperation::Write(0x000069D8, 0x8080808),
    RegisterOperation::Write(0x000069DC, 0x8080808),
    RegisterOperation::Write(0x000069E0, 0x8080808),
    RegisterOperation::Write(0x000069E4, 0x8080808),
    RegisterOperation::Write(0x000069E8, 0x8080808),
    RegisterOperation::Write(0x000069EC, 0x8080808),
    RegisterOperation::Write(0x000069F0, 0x8080808),
    RegisterOperation::Write(0x000069F4, 0x8080808),
    RegisterOperation::Write(0x000069F8, 0x8080808),
    RegisterOperation::Write(0x000069FC, 0x8080808),
    RegisterOperation::Write(0x00006A00, 0x8080808),
    RegisterOperation::Write(0x00006A04, 0x8080808),
    RegisterOperation::Write(0x00006A08, 0x8080808),
    RegisterOperation::Write(0x00006A0C, 0x8080808),
    RegisterOperation::Write(0x00006A10, 0x8080808),
    RegisterOperation::Write(0x00006A14, 0x8080808),
    RegisterOperation::Write(0x00006A18, 0x8080808),
    RegisterOperation::Write(0x00006A1C, 0x8080808),
    RegisterOperation::Write(0x00006A20, 0x8080808),
    RegisterOperation::Write(0x00006A24, 0x8080808),
    RegisterOperation::Write(0x00006A28, 0x8080808),
    RegisterOperation::Write(0x00006A2C, 0x8080808),
    RegisterOperation::Write(0x00006A30, 0x8080808),
    RegisterOperation::Write(0x00006A34, 0x8080808),
    RegisterOperation::Write(0x00006A38, 0x8080808),
    RegisterOperation::Write(0x00006A3C, 0x8080808),
    RegisterOperation::Write(0x00006A40, 0x8080808),
    RegisterOperation::Write(0x00006A44, 0x8080808),
    RegisterOperation::Write(0x00006A48, 0x8080808),
    RegisterOperation::Write(0x00006A4C, 0x8080808),
    RegisterOperation::Write(0x00006A50, 0x8080808),
    RegisterOperation::Write(0x00006A54, 0x8080808),
    RegisterOperation::Write(0x00006A58, 0x8080808),
    RegisterOperation::Write(0x00006A5C, 0x8080808),
    RegisterOperation::Write(0x00006A60, 0x8080808),
    RegisterOperation::Write(0x00006A64, 0x8080808),
    RegisterOperation::Write(0x00006A68, 0x8080808),
    RegisterOperation::Write(0x00006A6C, 0x8080808),
    RegisterOperation::Write(0x00006A70, 0x8080808),
    RegisterOperation::Write(0x00006A74, 0x8080808),
    RegisterOperation::Write(0x00006A78, 0x8080808),
    RegisterOperation::Write(0x00006A7C, 0x8080808),
    RegisterOperation::Write(0x00006A80, 0x8080808),
    RegisterOperation::Write(0x00006A84, 0x8080808),
    RegisterOperation::Write(0x00006A88, 0x8080808),
    RegisterOperation::Write(0x00006A8C, 0x8080808),
    RegisterOperation::Write(0x00006A90, 0x8080808),
    RegisterOperation::Write(0x00006A94, 0x8080808),
    RegisterOperation::Write(0x00006A98, 0x8080808),
    RegisterOperation::Write(0x00006A9C, 0x8080808),
    RegisterOperation::Write(0x00006AA0, 0x8080808),
    RegisterOperation::Write(0x00006AA4, 0x8080808),
    RegisterOperation::Write(0x00006AA8, 0x8080808),
    RegisterOperation::Write(0x00006AAC, 0x8080808),
    RegisterOperation::Write(0x00006AB0, 0x8080808),
    RegisterOperation::Write(0x00006AB4, 0x8080808),
    RegisterOperation::Write(0x00006AB8, 0x8080808),
    RegisterOperation::Write(0x00006ABC, 0x8080808),
    RegisterOperation::Write(0x00006AC0, 0x8080808),
    RegisterOperation::Write(0x00006AC4, 0x8080808),
    RegisterOperation::Write(0x00006AC8, 0x8080808),
    RegisterOperation::Write(0x00006ACC, 0x8080808),
    RegisterOperation::Write(0x00006AD0, 0x8080808),
    RegisterOperation::Write(0x00006AD4, 0x8080808),
    RegisterOperation::Write(0x00006AD8, 0x8080808),
    RegisterOperation::Write(0x00006ADC, 0x8080808),
    RegisterOperation::Write(0x00006AE0, 0x8080808),
    RegisterOperation::Write(0x00006AE4, 0x8080808),
    RegisterOperation::Write(0x00006AE8, 0x8080808),
    RegisterOperation::Write(0x00006AEC, 0x8080808),
    RegisterOperation::Write(0x00006AF0, 0x8080808),
    RegisterOperation::Write(0x00006AF4, 0x8080808),
    RegisterOperation::Write(0x00006AF8, 0x8080808),
    RegisterOperation::Write(0x00006AFC, 0x8080808),
    RegisterOperation::Write(0x00006B00, 0x8080808),
    RegisterOperation::Write(0x00006B04, 0x8080808),
    RegisterOperation::Write(0x00006B08, 0x8080808),
    RegisterOperation::Write(0x00006B0C, 0x8080808),
    RegisterOperation::Write(0x00006B10, 0x8080808),
    RegisterOperation::Write(0x00006B14, 0x8080808),
    RegisterOperation::Write(0x00006B18, 0x8080808),
    RegisterOperation::Write(0x00006B1C, 0x8080808),
    RegisterOperation::Write(0x00006B20, 0x8080808),
    RegisterOperation::Write(0x00006B24, 0x8080808),
    RegisterOperation::Write(0x00006B28, 0x8080808),
    RegisterOperation::Write(0x00006B2C, 0x8080808),
    RegisterOperation::Write(0x00006B30, 0x8080808),
    RegisterOperation::Write(0x00006B34, 0x8080808),
    RegisterOperation::Write(0x00006B38, 0x8080808),
    RegisterOperation::Write(0x00006B3C, 0x8080808),
    RegisterOperation::Write(0x00006B40, 0x8080808),
    RegisterOperation::Write(0x00006B44, 0x8080808),
    RegisterOperation::Write(0x00006B48, 0x8080808),
    RegisterOperation::Write(0x00006B4C, 0x8080808),
    RegisterOperation::Write(0x00006B50, 0x8080808),
    RegisterOperation::Write(0x00006B54, 0x8080808),
    RegisterOperation::Write(0x00006B58, 0x8080808),
    RegisterOperation::Write(0x00006B5C, 0x8080808),
    RegisterOperation::Write(0x00006B60, 0x8080808),
    RegisterOperation::Write(0x00006B64, 0x8080808),
    RegisterOperation::Write(0x00006B68, 0x8080808),
    RegisterOperation::Write(0x00006B6C, 0x8080808),
    RegisterOperation::Write(0x00006B70, 0x8080808),
    RegisterOperation::Write(0x00006B74, 0x8080808),
    RegisterOperation::Write(0x00006B78, 0x8080808),
    RegisterOperation::Write(0x00006B7C, 0x8080808),
    RegisterOperation::Write(0x00006B80, 0x8080808),
    RegisterOperation::Write(0x00006B84, 0x8080808),
    RegisterOperation::Write(0x00006B88, 0x8080808),
    RegisterOperation::Write(0x00006B8C, 0x8080808),
    RegisterOperation::Write(0x00006B90, 0x8080808),
    RegisterOperation::Write(0x00006B94, 0x8080808),
    RegisterOperation::Write(0x0000602C, 0x0),
    RegisterOperation::Write(0x00006800, 0x0),
    RegisterOperation::Write(0x00006804, 0x0),
    RegisterOperation::Write(0x00006808, 0x0),
    RegisterOperation::Write(0x0000680C, 0x0),
    RegisterOperation::Write(0x00006810, 0x0),
    RegisterOperation::Write(0x00006814, 0x0),
    RegisterOperation::Write(0x00006818, 0x0),
    RegisterOperation::Write(0x0000681C, 0x0),
    RegisterOperation::Write(0x00006820, 0x0),
    RegisterOperation::Write(0x00006824, 0x0),
    RegisterOperation::Write(0x00006828, 0x0),
    RegisterOperation::Write(0x0000682C, 0x0),
    RegisterOperation::Write(0x00006830, 0x0),
    RegisterOperation::Write(0x00006834, 0x0),
    RegisterOperation::Write(0x00006838, 0x0),
    RegisterOperation::Write(0x0000683C, 0x0),
    RegisterOperation::Write(0x00006840, 0x0),
    RegisterOperation::Write(0x00006844, 0x0),
    RegisterOperation::Write(0x00006848, 0x0),
    RegisterOperation::Write(0x0000684C, 0x0),
    RegisterOperation::Write(0x00006850, 0x0),
    RegisterOperation::Write(0x00006854, 0x0),
    RegisterOperation::Write(0x00006858, 0x0),
    RegisterOperation::Write(0x0000685C, 0x0),
    RegisterOperation::Write(0x00006860, 0x0),
    RegisterOperation::Write(0x00006864, 0x0),
    RegisterOperation::Write(0x00006868, 0x0),
    RegisterOperation::Write(0x0000686C, 0x0),
    RegisterOperation::Write(0x00006870, 0x0),
    RegisterOperation::Write(0x00006874, 0x0),
    RegisterOperation::Write(0x00006878, 0x0),
    RegisterOperation::Write(0x0000687C, 0x0),
    RegisterOperation::Write(0x00006880, 0x0),
    RegisterOperation::Write(0x00006884, 0x0),
    RegisterOperation::Write(0x00006888, 0x0),
    RegisterOperation::Write(0x0000688C, 0x0),
    RegisterOperation::Write(0x00006890, 0x0),
    RegisterOperation::Write(0x00006894, 0x0),
    RegisterOperation::Write(0x00006898, 0x0),
    RegisterOperation::Write(0x0000689C, 0x0),
    RegisterOperation::Write(0x000068A0, 0x0),
    RegisterOperation::Write(0x000068A4, 0x0),
    RegisterOperation::Write(0x000068A8, 0x0),
    RegisterOperation::Write(0x000068AC, 0x0),
    RegisterOperation::Write(0x000068B0, 0x0),
    RegisterOperation::Write(0x000068B4, 0x0),
    RegisterOperation::Write(0x000068B8, 0x0),
    RegisterOperation::Write(0x000068BC, 0x0),
    RegisterOperation::Write(0x000068C0, 0x0),
    RegisterOperation::Write(0x000068C4, 0x0),
    RegisterOperation::Write(0x000068C8, 0x0),
    RegisterOperation::Write(0x000068CC, 0x0),
    RegisterOperation::Write(0x000068D0, 0x0),
    RegisterOperation::Write(0x000068D4, 0x0),
    RegisterOperation::Write(0x000068D8, 0x0),
    RegisterOperation::Write(0x000068DC, 0x0),
    RegisterOperation::Write(0x000068E0, 0x0),
    RegisterOperation::Write(0x000068E4, 0x0),
    RegisterOperation::Write(0x000068E8, 0x0),
    RegisterOperation::Write(0x000068EC, 0x0),
    RegisterOperation::Write(0x000068F0, 0x0),
    RegisterOperation::Write(0x000068F4, 0x0),
    RegisterOperation::Write(0x000068F8, 0x0),
    RegisterOperation::Write(0x000068FC, 0x0),
    RegisterOperation::Write(0x00006900, 0x0),
    RegisterOperation::Write(0x00006904, 0x0),
    RegisterOperation::Write(0x00006908, 0x0),
    RegisterOperation::Write(0x0000690C, 0x0),
    RegisterOperation::Write(0x00006910, 0x0),
    RegisterOperation::Write(0x00006914, 0x0),
    RegisterOperation::Write(0x00006918, 0x0),
    RegisterOperation::Write(0x0000691C, 0x0),
    RegisterOperation::Write(0x00006920, 0x0),
    RegisterOperation::Write(0x00006924, 0x0),
    RegisterOperation::Write(0x00006928, 0x0),
    RegisterOperation::Write(0x0000692C, 0x0),
    RegisterOperation::Write(0x00006930, 0x0),
    RegisterOperation::Write(0x00006934, 0x0),
    RegisterOperation::Write(0x00006938, 0x0),
    RegisterOperation::Write(0x0000693C, 0x0),
    RegisterOperation::Write(0x00006940, 0x0),
    RegisterOperation::Write(0x00006944, 0x0),
    RegisterOperation::Write(0x00006948, 0x0),
    RegisterOperation::Write(0x0000694C, 0x0),
    RegisterOperation::Write(0x00006950, 0x0),
    RegisterOperation::Write(0x00006954, 0x0),
    RegisterOperation::Write(0x00006958, 0x0),
    RegisterOperation::Write(0x0000695C, 0x0),
    RegisterOperation::Write(0x00006960, 0x0),
    RegisterOperation::Write(0x00006964, 0x0),
    RegisterOperation::Write(0x00006968, 0x0),
    RegisterOperation::Write(0x0000696C, 0x0),
    RegisterOperation::Write(0x00006970, 0x0),
    RegisterOperation::Write(0x00006974, 0x0),
    RegisterOperation::Write(0x00006978, 0x0),
    RegisterOperation::Write(0x0000697C, 0x0),
    RegisterOperation::Write(0x00006980, 0x0),
    RegisterOperation::Write(0x00006984, 0x0),
    RegisterOperation::Write(0x00006988, 0x0),
    RegisterOperation::Write(0x0000698C, 0x0),
    RegisterOperation::Write(0x00006990, 0x0),
    RegisterOperation::Write(0x00006994, 0x0),
    RegisterOperation::Write(0x00006998, 0x0),
    RegisterOperation::Write(0x0000699C, 0x0),
    RegisterOperation::Write(0x000069A0, 0x0),
    RegisterOperation::Write(0x000069A4, 0x0),
    RegisterOperation::Write(0x000069A8, 0x0),
    RegisterOperation::Write(0x000069AC, 0x0),
    RegisterOperation::Write(0x000069B0, 0x0),
    RegisterOperation::Write(0x000069B4, 0x0),
    RegisterOperation::Write(0x000069B8, 0x0),
    RegisterOperation::Write(0x000069BC, 0x0),
    RegisterOperation::Write(0x000069C0, 0x0),
    RegisterOperation::Write(0x000069C4, 0x0),
    RegisterOperation::Write(0x000069C8, 0x0),
    RegisterOperation::Write(0x000069CC, 0x0),
    RegisterOperation::Write(0x000069D0, 0x0),
    RegisterOperation::Write(0x000069D4, 0x0),
    RegisterOperation::Write(0x000069D8, 0x0),
    RegisterOperation::Write(0x000069DC, 0x0),
    RegisterOperation::Write(0x000069E0, 0x0),
    RegisterOperation::Write(0x000069E4, 0x0),
    RegisterOperation::Write(0x000069E8, 0x0),
    RegisterOperation::Write(0x000069EC, 0x0),
    RegisterOperation::Write(0x000069F0, 0x0),
    RegisterOperation::Write(0x000069F4, 0x0),
    RegisterOperation::Write(0x000069F8, 0x0),
    RegisterOperation::Write(0x000069FC, 0x0),
    RegisterOperation::Write(0x00006A00, 0x0),
    RegisterOperation::Write(0x00006A04, 0x0),
    RegisterOperation::Write(0x00006A08, 0x0),
    RegisterOperation::Write(0x00006A0C, 0x0),
    RegisterOperation::Write(0x00006A10, 0x0),
    RegisterOperation::Write(0x00006A14, 0x0),
    RegisterOperation::Write(0x00006A18, 0x0),
    RegisterOperation::Write(0x00006A1C, 0x0),
    RegisterOperation::Write(0x00006A20, 0x0),
    RegisterOperation::Write(0x00006A24, 0x0),
    RegisterOperation::Write(0x00006A28, 0x0),
    RegisterOperation::Write(0x00006A2C, 0x0),
    RegisterOperation::Write(0x00006A30, 0x0),
    RegisterOperation::Write(0x00006A34, 0x0),
    RegisterOperation::Write(0x00006A38, 0x0),
    RegisterOperation::Write(0x00006A3C, 0x0),
    RegisterOperation::Write(0x00006A40, 0x0),
    RegisterOperation::Write(0x00006A44, 0x0),
    RegisterOperation::Write(0x00006A48, 0x0),
    RegisterOperation::Write(0x00006A4C, 0x0),
    RegisterOperation::Write(0x00006A50, 0x0),
    RegisterOperation::Write(0x00006A54, 0x0),
    RegisterOperation::Write(0x00006A58, 0x0),
    RegisterOperation::Write(0x00006A5C, 0x0),
    RegisterOperation::Write(0x00006A60, 0x0),
    RegisterOperation::Write(0x00006A64, 0x0),
    RegisterOperation::Write(0x00006A68, 0x0),
    RegisterOperation::Write(0x00006A6C, 0x0),
    RegisterOperation::Write(0x00006A70, 0x0),
    RegisterOperation::Write(0x00006A74, 0x0),
    RegisterOperation::Write(0x00006A78, 0x0),
    RegisterOperation::Write(0x00006A7C, 0x0),
    RegisterOperation::Write(0x00006A80, 0x0),
    RegisterOperation::Write(0x00006A84, 0x0),
    RegisterOperation::Write(0x00006A88, 0x0),
    RegisterOperation::Write(0x00006A8C, 0x0),
    RegisterOperation::Write(0x00006A90, 0x0),
    RegisterOperation::Write(0x00006A94, 0x0),
    RegisterOperation::Write(0x00006A98, 0x0),
    RegisterOperation::Write(0x00006A9C, 0x0),
    RegisterOperation::Write(0x00006AA0, 0x0),
    RegisterOperation::Write(0x00006AA4, 0x0),
    RegisterOperation::Write(0x00006AA8, 0x0),
    RegisterOperation::Write(0x00006AAC, 0x0),
    RegisterOperation::Write(0x00006AB0, 0x0),
    RegisterOperation::Write(0x00006AB4, 0x0),
    RegisterOperation::Write(0x00006AB8, 0x0),
    RegisterOperation::Write(0x00006ABC, 0x0),
    RegisterOperation::Write(0x00006AC0, 0x0),
    RegisterOperation::Write(0x00006AC4, 0x0),
    RegisterOperation::Write(0x00006AC8, 0x0),
    RegisterOperation::Write(0x00006ACC, 0x0),
    RegisterOperation::Write(0x00006AD0, 0x0),
    RegisterOperation::Write(0x00006AD4, 0x0),
    RegisterOperation::Write(0x00006AD8, 0x0),
    RegisterOperation::Write(0x00006ADC, 0x0),
    RegisterOperation::Write(0x00006AE0, 0x0),
    RegisterOperation::Write(0x00006AE4, 0x0),
    RegisterOperation::Write(0x00006AE8, 0x0),
    RegisterOperation::Write(0x00006AEC, 0x0),
    RegisterOperation::Write(0x00006AF0, 0x0),
    RegisterOperation::Write(0x00006AF4, 0x0),
    RegisterOperation::Write(0x00006AF8, 0x0),
    RegisterOperation::Write(0x00006AFC, 0x0),
    RegisterOperation::Write(0x00006B00, 0x0),
    RegisterOperation::Write(0x00006B04, 0x0),
    RegisterOperation::Write(0x00006B08, 0x0),
    RegisterOperation::Write(0x00006B0C, 0x0),
    RegisterOperation::Write(0x00006B10, 0x0),
    RegisterOperation::Write(0x00006B14, 0x0),
    RegisterOperation::Write(0x00006B18, 0x0),
    RegisterOperation::Write(0x00006B1C, 0x0),
    RegisterOperation::Write(0x00006B20, 0x0),
    RegisterOperation::Write(0x00006B24, 0x0),
    RegisterOperation::Write(0x00006B28, 0x0),
    RegisterOperation::Write(0x00006B2C, 0x0),
    RegisterOperation::Write(0x00006B30, 0x0),
    RegisterOperation::Write(0x00006B34, 0x0),
    RegisterOperation::Write(0x00006B38, 0x0),
    RegisterOperation::Write(0x00006B3C, 0x0),
    RegisterOperation::Write(0x00006B40, 0x0),
    RegisterOperation::Write(0x00006B44, 0x0),
    RegisterOperation::Write(0x00006B48, 0x0),
    RegisterOperation::Write(0x00006B4C, 0x0),
    RegisterOperation::Write(0x00006B50, 0x0),
    RegisterOperation::Write(0x00006B54, 0x0),
    RegisterOperation::Write(0x00006B58, 0x0),
    RegisterOperation::Write(0x00006B5C, 0x0),
    RegisterOperation::Write(0x00006B60, 0x0),
    RegisterOperation::Write(0x00006B64, 0x0),
    RegisterOperation::Write(0x00006B68, 0x0),
    RegisterOperation::Write(0x00006B6C, 0x0),
    RegisterOperation::Write(0x00006B70, 0x0),
    RegisterOperation::Write(0x00006B74, 0x0),
    RegisterOperation::Write(0x00006B78, 0x0),
    RegisterOperation::Write(0x00006B7C, 0x0),
    RegisterOperation::Write(0x00006B80, 0x0),
    RegisterOperation::Write(0x00006B84, 0x0),
    RegisterOperation::Write(0x00006B88, 0x0),
    RegisterOperation::Write(0x00006B8C, 0x0),
    RegisterOperation::Write(0x00006B90, 0x0),
    RegisterOperation::Write(0x00006B94, 0x0),
    RegisterOperation::Write(0x00006400, 0x10000),
    RegisterOperation::Write(0x00006404, 0x30002),
    RegisterOperation::Write(0x00006408, 0x50004),
    RegisterOperation::Write(0x0000640C, 0x70006),
    RegisterOperation::Write(0x00006410, 0x90008),
    RegisterOperation::Write(0x00006414, 0xb000a),
    RegisterOperation::Write(0x00006418, 0xd000c),
    RegisterOperation::Write(0x0000641C, 0xf000e),
    RegisterOperation::Write(0x00006420, 0x110010),
    RegisterOperation::Write(0x00006424, 0x130012),
    RegisterOperation::Write(0x00006428, 0x150014),
    RegisterOperation::Write(0x0000642C, 0x170016),
    RegisterOperation::Write(0x00006430, 0x190018),
    RegisterOperation::Write(0x00006434, 0x1b001a),
    RegisterOperation::Write(0x00006438, 0x1d001c),
    RegisterOperation::Write(0x0000643C, 0x1f001e),
    RegisterOperation::Write(0x00006440, 0x210020),
    RegisterOperation::Write(0x00006444, 0x230022),
    RegisterOperation::Write(0x00006448, 0x250024),
    RegisterOperation::Write(0x0000644C, 0x270026),
    RegisterOperation::Write(0x00006450, 0x290028),
    RegisterOperation::Write(0x00006454, 0x2b002a),
    RegisterOperation::Write(0x00006458, 0x2d002c),
    RegisterOperation::Write(0x0000645C, 0x2f002e),
    RegisterOperation::Write(0x00006460, 0x310030),
    RegisterOperation::Write(0x00006464, 0x330032),
    RegisterOperation::Write(0x00006468, 0x350034),
    RegisterOperation::Write(0x0000646C, 0x370036),
    RegisterOperation::Write(0x00006470, 0x390038),
    RegisterOperation::Write(0x00006474, 0x3b003a),
    RegisterOperation::Write(0x00006478, 0x3d003c),
    RegisterOperation::Write(0x0000647C, 0x3f003e),
    RegisterOperation::Write(0x00006480, 0x410040),
    RegisterOperation::Write(0x00006484, 0x430042),
    RegisterOperation::Write(0x00006488, 0x450044),
    RegisterOperation::Write(0x0000648C, 0x470046),
    RegisterOperation::Write(0x00006490, 0x490048),
    RegisterOperation::Write(0x00006494, 0x4b004a),
    RegisterOperation::Write(0x00006498, 0x4d004c),
    RegisterOperation::Write(0x0000649C, 0x4f004e),
    RegisterOperation::Write(0x000064A0, 0x510050),
    RegisterOperation::Write(0x000064A4, 0x530052),
    RegisterOperation::Write(0x000064A8, 0x550054),
    RegisterOperation::Write(0x000064AC, 0x570056),
    RegisterOperation::Write(0x000064B0, 0x590058),
    RegisterOperation::Write(0x000064B4, 0x5b005a),
    RegisterOperation::Write(0x000064B8, 0x5d005c),
    RegisterOperation::Write(0x000064BC, 0x5f005e),
    RegisterOperation::Write(0x000064C0, 0x610060),
    RegisterOperation::Write(0x000064C4, 0x630062),
    RegisterOperation::Write(0x000064C8, 0x650064),
    RegisterOperation::Write(0x000064CC, 0x670066),
    RegisterOperation::Write(0x000064D0, 0x690068),
    RegisterOperation::Write(0x000064D4, 0x6b006a),
    RegisterOperation::Write(0x000064D8, 0x6d006c),
    RegisterOperation::Write(0x000064DC, 0x6f006e),
    RegisterOperation::Write(0x000064E0, 0x710070),
    RegisterOperation::Write(0x000064E4, 0x730072),
    RegisterOperation::Write(0x000064E8, 0x750074),
    RegisterOperation::Write(0x000064EC, 0x770076),
    RegisterOperation::Write(0x000064F0, 0x790078),
    RegisterOperation::Write(0x000064F4, 0x7b007a),
    RegisterOperation::Write(0x000064F8, 0x7d007c),
    RegisterOperation::Write(0x000064FC, 0x7f007e),
    RegisterOperation::Write(0x00006500, 0x810080),
    RegisterOperation::Write(0x00006504, 0x830082),
    RegisterOperation::Write(0x00006508, 0x850084),
    RegisterOperation::Write(0x0000650C, 0x870086),
    RegisterOperation::Write(0x00006510, 0x890088),
    RegisterOperation::Write(0x00006514, 0x8b008a),
    RegisterOperation::Write(0x00006518, 0x8d008c),
    RegisterOperation::Write(0x0000651C, 0x8f008e),
    RegisterOperation::Write(0x00006520, 0x910090),
    RegisterOperation::Write(0x00006524, 0x930092),
    RegisterOperation::Write(0x00006528, 0x950094),
    RegisterOperation::Write(0x0000652C, 0x970096),
    RegisterOperation::Write(0x00006530, 0x990098),
    RegisterOperation::Write(0x00006534, 0x9b009a),
    RegisterOperation::Write(0x00006538, 0x9d009c),
    RegisterOperation::Write(0x0000653C, 0x9f009e),
    RegisterOperation::Write(0x00006540, 0xa100a0),
    RegisterOperation::Write(0x00006544, 0xa300a2),
    RegisterOperation::Write(0x00006548, 0xa500a4),
    RegisterOperation::Write(0x0000654C, 0xa700a6),
    RegisterOperation::Write(0x00006550, 0xa900a8),
    RegisterOperation::Write(0x00006554, 0xab00aa),
    RegisterOperation::Write(0x00006558, 0xad00ac),
    RegisterOperation::Write(0x0000655C, 0xaf00ae),
    RegisterOperation::Write(0x00006560, 0xb100b0),
    RegisterOperation::Write(0x00006564, 0xb300b2),
    RegisterOperation::Write(0x00006568, 0xb500b4),
    RegisterOperation::Write(0x0000656C, 0xb700b6),
    RegisterOperation::Write(0x00006570, 0xb900b8),
    RegisterOperation::Write(0x00006574, 0xbb00ba),
    RegisterOperation::Write(0x00006578, 0xbd00bc),
    RegisterOperation::Write(0x0000657C, 0xbf00be),
    RegisterOperation::Write(0x00006580, 0xc100c0),
    RegisterOperation::Write(0x00006584, 0xc300c2),
    RegisterOperation::Write(0x00006588, 0xc500c4),
    RegisterOperation::Write(0x0000658C, 0xc700c6),
    RegisterOperation::Write(0x00006590, 0xc900c8),
    RegisterOperation::Write(0x00006594, 0xcb00ca),
    RegisterOperation::Write(0x00006598, 0xcd00cc),
    RegisterOperation::Write(0x0000659C, 0xcf00ce),
    RegisterOperation::Write(0x000065A0, 0xd100d0),
    RegisterOperation::Write(0x000065A4, 0xd300d2),
    RegisterOperation::Write(0x000065A8, 0xd500d4),
    RegisterOperation::Write(0x000065AC, 0xd700d6),
    RegisterOperation::Write(0x000065B0, 0xd900d8),
    RegisterOperation::Write(0x000065B4, 0xdb00da),
    RegisterOperation::Write(0x000065B8, 0xdd00dc),
    RegisterOperation::Write(0x000065BC, 0xdf00de),
    RegisterOperation::Write(0x000065C0, 0xe100e0),
    RegisterOperation::Write(0x000065C4, 0xe300e2),
    RegisterOperation::Write(0x000065C8, 0xe500e4),
    RegisterOperation::Write(0x000065CC, 0xe700e6),
    RegisterOperation::Write(0x000065D0, 0xe900e8),
    RegisterOperation::Write(0x000065D4, 0xeb00ea),
    RegisterOperation::Write(0x000065D8, 0xed00ec),
    RegisterOperation::Write(0x000065DC, 0xef00ee),
    RegisterOperation::Write(0x000065E0, 0xf100f0),
    RegisterOperation::Write(0x000065E4, 0xf300f2),
    RegisterOperation::Write(0x000065E8, 0xf500f4),
    RegisterOperation::Write(0x000065EC, 0xf700f6),
    RegisterOperation::Write(0x000065F0, 0xf900f8),
    RegisterOperation::Write(0x000065F4, 0xfb00fa),
    RegisterOperation::Write(0x000065F8, 0xfd00fc),
    RegisterOperation::Write(0x000065FC, 0xff00fe),
    RegisterOperation::Write(0x00006600, 0x1010100),
    RegisterOperation::Write(0x00006604, 0x1030102),
    RegisterOperation::Write(0x00006608, 0x1050104),
    RegisterOperation::Write(0x0000660C, 0x1070106),
    RegisterOperation::Write(0x00006610, 0x1090108),
    RegisterOperation::Write(0x00006614, 0x10b010a),
    RegisterOperation::Write(0x00006618, 0x10d010c),
    RegisterOperation::Write(0x0000661C, 0x10f010e),
    RegisterOperation::Write(0x00006620, 0x1110110),
    RegisterOperation::Write(0x00006624, 0x1130112),
    RegisterOperation::Write(0x00006628, 0x1150114),
    RegisterOperation::Write(0x0000662C, 0x1170116),
    RegisterOperation::Write(0x00006630, 0x1190118),
    RegisterOperation::Write(0x00006634, 0x11b011a),
    RegisterOperation::Write(0x00006638, 0x11d011c),
    RegisterOperation::Write(0x0000663C, 0x11f011e),
    RegisterOperation::Write(0x00006640, 0x1210120),
    RegisterOperation::Write(0x00006644, 0x1230122),
    RegisterOperation::Write(0x00006648, 0x1250124),
    RegisterOperation::Write(0x0000664C, 0x1270126),
    RegisterOperation::Write(0x00006650, 0x1290128),
    RegisterOperation::Write(0x00006654, 0x12b012a),
    RegisterOperation::Write(0x00006658, 0x12d012c),
    RegisterOperation::Write(0x0000665C, 0x12f012e),
    RegisterOperation::Write(0x00006660, 0x1310130),
    RegisterOperation::Write(0x00006664, 0x1330132),
    RegisterOperation::Write(0x00006668, 0x1350134),
    RegisterOperation::Write(0x0000666C, 0x1370136),
    RegisterOperation::Write(0x00006670, 0x1390138),
    RegisterOperation::Write(0x00006674, 0x13b013a),
    RegisterOperation::Write(0x00006678, 0x13d013c),
    RegisterOperation::Write(0x0000667C, 0x13f013e),
    RegisterOperation::Write(0x00006680, 0x1410140),
    RegisterOperation::Write(0x00006684, 0x1430142),
    RegisterOperation::Write(0x00006688, 0x1450144),
    RegisterOperation::Write(0x0000668C, 0x1470146),
    RegisterOperation::Write(0x00006690, 0x1490148),
    RegisterOperation::Write(0x00006694, 0x14b014a),
    RegisterOperation::Write(0x00006698, 0x14d014c),
    RegisterOperation::Write(0x0000669C, 0x14f014e),
    RegisterOperation::Write(0x000066A0, 0x1510150),
    RegisterOperation::Write(0x000066A4, 0x1530152),
    RegisterOperation::Write(0x000066A8, 0x1550154),
    RegisterOperation::Write(0x000066AC, 0x1570156),
    RegisterOperation::Write(0x000066B0, 0x1590158),
    RegisterOperation::Write(0x000066B4, 0x15b015a),
    RegisterOperation::Write(0x000066B8, 0x15d015c),
    RegisterOperation::Write(0x000066BC, 0x15f015e),
    RegisterOperation::Write(0x000066C0, 0x1610160),
    RegisterOperation::Write(0x000066C4, 0x1630162),
    RegisterOperation::Write(0x000066C8, 0x1650164),
    RegisterOperation::Write(0x000066CC, 0x1670166),
    RegisterOperation::Write(0x000066D0, 0x1690168),
    RegisterOperation::Write(0x000066D4, 0x16b016a),
    RegisterOperation::Write(0x000066D8, 0x16d016c),
    RegisterOperation::Write(0x000066DC, 0x16f016e),
    RegisterOperation::Write(0x000066E0, 0x1710170),
    RegisterOperation::Write(0x000066E4, 0x1730172),
    RegisterOperation::Write(0x000066E8, 0x1750174),
    RegisterOperation::Write(0x000066EC, 0x1770176),
    RegisterOperation::Write(0x000066F0, 0x1790178),
    RegisterOperation::Write(0x000066F4, 0x17b017a),
    RegisterOperation::Write(0x000066F8, 0x17d017c),
    RegisterOperation::Write(0x000066FC, 0x17f017e),
    RegisterOperation::Write(0x00006700, 0x1810180),
    RegisterOperation::Write(0x00006704, 0x1830182),
    RegisterOperation::Write(0x00006708, 0x1850184),
    RegisterOperation::Write(0x0000670C, 0x1870186),
    RegisterOperation::Write(0x00006710, 0x1890188),
    RegisterOperation::Write(0x00006714, 0x18b018a),
    RegisterOperation::Write(0x00006718, 0x18d018c),
    RegisterOperation::Write(0x0000671C, 0x18f018e),
    RegisterOperation::Write(0x00006720, 0x1910190),
    RegisterOperation::Write(0x00006724, 0x1930192),
    RegisterOperation::Write(0x00006728, 0x1950194),
    RegisterOperation::Write(0x0000672C, 0x1970196),
    RegisterOperation::Write(0x00006730, 0x1990198),
    RegisterOperation::Write(0x00006734, 0x19b019a),
    RegisterOperation::Write(0x00006738, 0x19d019c),
    RegisterOperation::Write(0x0000673C, 0x19f019e),
    RegisterOperation::Write(0x00006740, 0x1a101a0),
    RegisterOperation::Write(0x00006744, 0x1a301a2),
    RegisterOperation::Write(0x00006748, 0x1a501a4),
    RegisterOperation::Write(0x0000674C, 0x1a701a6),
    RegisterOperation::Write(0x00006750, 0x1a901a8),
    RegisterOperation::Write(0x00006754, 0x1ab01aa),
    RegisterOperation::Write(0x00006758, 0x1ad01ac),
    RegisterOperation::Write(0x0000675C, 0x1af01ae),
    RegisterOperation::Write(0x00006760, 0x1b101b0),
    RegisterOperation::Write(0x00006764, 0x1b301b2),
    RegisterOperation::Write(0x00006768, 0x1b501b4),
    RegisterOperation::Write(0x0000676C, 0x1b701b6),
    RegisterOperation::Write(0x00006770, 0x1b901b8),
    RegisterOperation::Write(0x00006774, 0x1bb01ba),
    RegisterOperation::Write(0x00006778, 0x1bd01bc),
    RegisterOperation::Write(0x0000677C, 0x1bf01be),
    RegisterOperation::Write(0x00006780, 0x1c101c0),
    RegisterOperation::Write(0x00006784, 0x1c301c2),
    RegisterOperation::Write(0x00006788, 0x1c501c4),
    RegisterOperation::Write(0x0000678C, 0x1c701c6),
    RegisterOperation::Write(0x00006790, 0x1c901c8),
    RegisterOperation::Write(0x00006794, 0x1cb01ca),
    RegisterOperation::Write(0x00006798, 0x1cd01cc),
    RegisterOperation::Write(0x0000679C, 0x1cf01ce),
    RegisterOperation::Write(0x000067A0, 0x1d101d0),
    RegisterOperation::Write(0x000067A4, 0x1d301d2),
    RegisterOperation::Write(0x000067A8, 0x1d501d4),
    RegisterOperation::Write(0x000067AC, 0x1d701d6),
    RegisterOperation::Write(0x000067B0, 0x1d901d8),
    RegisterOperation::Write(0x000067B4, 0x1db01da),
    RegisterOperation::Write(0x000067B8, 0x1dd01dc),
    RegisterOperation::Write(0x000067BC, 0x1df01de),
    RegisterOperation::Write(0x000067C0, 0x1e101e0),
    RegisterOperation::Write(0x000067C4, 0x1e301e2),
    RegisterOperation::Write(0x000067C8, 0x1e501e4),
    RegisterOperation::Write(0x000067CC, 0x1e701e6),
    RegisterOperation::Write(0x000067D0, 0x1e901e8),
    RegisterOperation::Write(0x000067D4, 0x1eb01ea),
    RegisterOperation::Write(0x000067D8, 0x1ed01ec),
    RegisterOperation::Write(0x000067DC, 0x1ef01ee),
    RegisterOperation::Write(0x000067E0, 0x1f101f0),
    RegisterOperation::Write(0x000067E4, 0x1f301f2),
    RegisterOperation::Write(0x000067E8, 0x1f501f4),
    RegisterOperation::Write(0x000067EC, 0x1f701f6),
    RegisterOperation::Write(0x000067F0, 0x1f901f8),
    RegisterOperation::Write(0x000067F4, 0x1fb01fa),
    RegisterOperation::Write(0x000067F8, 0x1fd01fc),
    RegisterOperation::Write(0x000067FC, 0x1ff01fe),
    RegisterOperation::Write(0x00006080, 0x3020100),
    RegisterOperation::Write(0x00006084, 0x7060504),
    RegisterOperation::Write(0x00006088, 0xb0a0908),
    RegisterOperation::Write(0x0000608C, 0xf0e0d0c),
    RegisterOperation::Write(0x00006090, 0x13121110),
    RegisterOperation::Write(0x00006094, 0x17161514),
    RegisterOperation::Write(0x00006098, 0x1b1a1918),
    RegisterOperation::Write(0x0000609C, 0x1f1e1d1c),
    RegisterOperation::Write(0x000060C0, 0x3020100),
    RegisterOperation::Write(0x000060C4, 0x7060504),
    RegisterOperation::Write(0x000060C8, 0xb0a0908),
    RegisterOperation::Write(0x000060CC, 0xf0e0d0c),
    RegisterOperation::Write(0x000060D0, 0x13121110),
    RegisterOperation::Write(0x000060D4, 0x17161514),
    RegisterOperation::Write(0x000060D8, 0x1b1a1918),
    RegisterOperation::Write(0x000060DC, 0x1f1e1d1c),
    RegisterOperation::Write(0x00006028, 0x3),
    RegisterOperation::Write(0x00006050, 0x0),
    RegisterOperation::Write(0x00006060, 0x0),
    RegisterOperation::Write(0x00006070, 0x0),
    RegisterOperation::Write(0x00006000, 0x155401),
    RegisterOperation::Write(0x0000D000, 0x5),
    RegisterOperation::Write(0x0000C000, 0x5),
    RegisterOperation::Write(0x00009000, 0x208),
    RegisterOperation::Write(0x00007008, 0x1),
    RegisterOperation::Write(0x00007000, 0x70001),
    RegisterOperation::Write(0x00008000, 0x1e085),
    RegisterOperation::Write(0x00009008, 0x644),
    RegisterOperation::Write(0x00000004, 0xf0005442),
    // Analog INIT
    RegisterOperation::Write(0x00000004, 0xf0005042),
    RegisterOperation::Write(0x0000002C, 0x200224),
    RegisterOperation::Write(0x0000A000, 0x101),
    RegisterOperation::Write(0x0000A000, 0xa1),
    RegisterOperation::Delay(200),
    RegisterOperation::Read(0x0000A000, 0x2a1, 0x200),
    RegisterOperation::Write(0x0000A008, 0x2405),
    RegisterOperation::Delay(200),
    RegisterOperation::Read(0x0000A008, 0x82405, 0x80000),
    RegisterOperation::Write(0x0000A004, 0x101),
    RegisterOperation::Write(0x0000A004, 0xa1),
    RegisterOperation::Delay(200),
    RegisterOperation::Read(0x0000A004, 0x2a1, 0x200),
    RegisterOperation::Write(0x0000A020, 0x170),
    RegisterOperation::Write(0x0000A020, 0x160),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A008, 0x82401),
    RegisterOperation::Write(0x0000004C, 0x7141),
    RegisterOperation::Write(0x00000054, 0x210),
    RegisterOperation::Write(0x00000008, 0x60000000),
    RegisterOperation::Write(0x00001104, 0x1),
    RegisterOperation::Write(0x0000A010, 0xa06b),
    RegisterOperation::Delay(300),
    RegisterOperation::Write(0x00001100, 0x4),
    RegisterOperation::Delay(200),
    RegisterOperation::Read(0x0000A010, 0x180a06b, 0x800000),
    RegisterOperation::Write(0x0000A010, 0x180a063),
    RegisterOperation::Write(0x0000A00C, 0x404),
    RegisterOperation::Write(0x0000A00C, 0x405),
    RegisterOperation::Delay(1000),
    RegisterOperation::Read(0x0000A00C, 0x20405, 0x20000),
    RegisterOperation::Write(0x0000A00C, 0x20401),
    RegisterOperation::Delay(300),
    RegisterOperation::Write(0x00000070, 0x400000),
    RegisterOperation::Write(0x0000006C, 0xee47117),
    RegisterOperation::Delay(100),
    RegisterOperation::Write(0x0000006C, 0xee4711f),
    RegisterOperation::Delay(100),
    RegisterOperation::Write(0x00000070, 0x480000),
    RegisterOperation::Delay(1000),
    RegisterOperation::Write(0x00001044, 0x1a98a7c),
    RegisterOperation::Write(0x00001040, 0x1a98a94),
    RegisterOperation::Write(0x00001048, 0x1a98b94),
    RegisterOperation::Write(0x0000101C, 0x1a1575b),
    RegisterOperation::Write(0x00001050, 0x1a1b251),
    RegisterOperation::Write(0x00001020, 0x1a9cd44),
    RegisterOperation::Write(0x0000100C, 0x1a1ff00),
    RegisterOperation::Write(0x00001018, 0x1a13734),
    RegisterOperation::Write(0x00001010, 0x1a16373),
    RegisterOperation::Write(0x00001014, 0x1a15050),
    RegisterOperation::Write(0x00001004, 0x1a1e84a),
    RegisterOperation::Write(0x00001008, 0x1210000),
    RegisterOperation::Write(0x00001000, 0x1a1c469),
    RegisterOperation::Write(0x0000104C, 0x1a19278),
    RegisterOperation::Write(0x00001100, 0x5),
    RegisterOperation::Write(0x0000002C, 0x22c724),
    RegisterOperation::Write(0x00000018, 0x200),
    RegisterOperation::Read(0x00000014, 0xa0301003, 0xffffffff)
};

static const std::vector<RegisterOperation> gen41_evk3_start = {
    RegisterOperation::Write(0x0000B000, 0x2d9),
    RegisterOperation::Write(0x00009028, 0x0),
    RegisterOperation::WriteField(0x00009008, 0x645, 0x00000001),
    // Analog START
    RegisterOperation::Write(0x0000002C, 0x22c724),
    RegisterOperation::WriteField(0x00000004, 0xf0005442, 0x00000400)
};

static const std::vector<RegisterOperation> gen41_evk3_stop = {
    // Analog STOP
    RegisterOperation::WriteField(0x00000004, 0xf0005042, 0x00000400),
    RegisterOperation::Write(0x0000002C, 0x22c324),
    // Digital STOP
    RegisterOperation::Read(0x0000C000, 0x5, 0x7),
    RegisterOperation::Write(0x0000C000, 0x2),
    RegisterOperation::Write(0x00009028, 0x2),
    RegisterOperation::Write(0x0000C000, 0x5),
    RegisterOperation::Delay(1000),
    RegisterOperation::WriteField(0x00009008, 0x644, 0x1),
    RegisterOperation::Write(0x0000B000, 0x2d8),
    RegisterOperation::Delay(300),
    RegisterOperation::Read(0x0000B000, 0x2dc, 0x7ff)
};

const std::vector<RegisterOperation> gen41_evk3_destroy = {
    // Analog DESTROY
    RegisterOperation::Write(0x00000070, 0x400000),
    RegisterOperation::Write(0x0000006C, 0xee47114),
    RegisterOperation::Delay(500),
    RegisterOperation::Write(0x0000A00C, 0x400),
    RegisterOperation::Delay(500),
    RegisterOperation::Write(0x0000A010, 0x8068),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x00001104, 0x0),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A020, 0x60),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A004, 0x2a0),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A008, 0x2400),
    RegisterOperation::Delay(200),
    RegisterOperation::Write(0x0000A000, 0x2a0),
    // Digital DESTROY
    RegisterOperation::Write(0x0000B044, 0x0),
    RegisterOperation::Read(0x0000B044, 0x0, 0x3),
    RegisterOperation::Write(0x0000B004, 0xa),
    RegisterOperation::Write(0x0000B040, 0xe),
    RegisterOperation::Write(0x0000B0C8, 0x0),
    RegisterOperation::Write(0x0000B040, 0x6),
    RegisterOperation::Write(0x0000B040, 0x4),
    RegisterOperation::Write(0x00000000, 0x50006442),
    RegisterOperation::Write(0x00000000, 0x10006442),
    RegisterOperation::Write(0x0000B07C, 0x0)
};

static Issd gen41_evk3_issd = Issd{
    gen41_evk3_init,
    gen41_evk3_start,
    gen41_evk3_stop,
    gen41_evk3_destroy,
};

} // namespace Metavisiom

#endif // METAVISION_HAL_GEN41_EVK3_ISSD_H

// clang-format on
